Can't find what you're looking for?
Hit the online chat button bottom left, or click the contact Kademi button below.
transactionManager.commit();
An article has a title, body, brief description and blog images. An article is also a folder and can contain resources such as images used in body content
Blog images are images which are specifically assigned to the article with an orientation and they are used for templating purposes.
Articles have an approval process to allow blog authors to have their work checked before being published to the website.
controllerMappings.adminController().path("/bluefin").enabled(true).defaultView(views.templateView("bluefin/manageProjects")) .addMethod("POST", "addProject", "newProjectName") .addMethod("POST", "setupDatabase", "setupDatabase") // temporary only, needs to be part of initialisation .addMethod("POST", "newCandidate", "newCandidateId") .addMethod("POST", "publish", "publish") .addMethod("POST", "startSync", "sync") // start a sync operation, will redirect if need oauth login .addMethod("POST", "updateFields", "updateFields") // update project fields .build();
applications.email.emailBuilder() .recipientAddress('test@yourdomain.co') .fromAddress('noreply@yourdomain.co') .subject('An email from ME! :-)') .html('<p><strong>Hello World</strong></p>') .build();or
var recipient = page.find('/users/test3/').thisProfile; applications.email.emailBuilder() .recipient(recipient) .fromAddress('noreply@yourdomain.co') .subject('An email from ME! :-)') .html('<p><strong>Hello World</strong></p>') .build();
<RecordExecutionStep> <preventDuplicates>false</preventDuplicates> <execIdTemplate>StarClass-Dealer-Targets_2015</execIdTemplate> <next class="TransactionStep" alwaysRollback="false"> <next class="ExcelInputStep"> <useXml>true</useXml> <processRows>true</processRows> <nextSheetSteps> <NextSheetStep sheetNum="0" startRow="2"> <next class="JsRowStep"> <!-- Execute the next step for each month, setting the month number into attribute monthNum --> <jsPath>/integration/integration.js</jsPath> <execFn>foreachMonth</execFn> <next class="SalesDataInserter" mode="updateOrInsert" logInserts="true" logUpdates="true"> <seriesName>star-class-partspurchase-data</seriesName> <column field="attributedTo" columnName="D"> <expr> org = pipeline.thisOrg.findChildOrgByField("StoreCode", value); if(org != null){ return org.orgId; } return null; </expr> </column> <column field="amount" > <!-- column G + 10*month --> <expr><![CDATA[ col = 2 + formatter.toInteger(pipeline.attributes.monthNum); if (0 >= row[col]) { return 1; } else { return row[col]; } ]]></expr> </column> <column field="fromDate"> <expr>formatter.monthStart(formatter.now, pipeline.attributes.monthNum)</expr> </column> <column field="toDate"> <expr>formatter.monthEnd(formatter.now, pipeline.attributes.monthNum)</expr> </column> </next> </next> </NextSheetStep> </nextSheetSteps> </next> </next> </RecordExecutionStep>
controllerMappings .mailboxController() .enabled(true) .verifyMailbox('verifyMailbox') .storeMail('storeMail') .build();
An event triggered by some condition related to learning progress, eg starting, completing or not completing after some period
The attributes collection contains the ModuleFolder called module.
<next class="DatabaseUpdateStep" providerId="organisation" mode="updateOrInsert" setIntoAttribute="dealership"> <!-- use star guild code as orgid, with leading zeros - 0000133433 --> <column field="orgId" column="1" > <expr> if(formatter.isNull(value) || value == "N/A"){ return formatter.padWith("0", row[2], 10); }else{ return formatter.padWith("0", value, 10); } </expr> </column> <column field="title" column="0" /> <column field="orgType" > <value class="string">dealership</value> </column> <column field="StarClExDealerCode" column="2" /> <!-- custom field for dealership --> <column field="StarGuildCode" column="1" /> <!-- custom field for dealership --> <column field="address" column="0" /> <column field="addressLine2" column="9" /> <column field="suburb" column="10" /> <!-- custom field --> <column field="state" column="11" /> <column field="postcode" column="12" /> <column field="phone" column="13" /> <column field="country"> <value class="string">AU</value> </column> <skipIfBlankColumns> <int>0</int> <int>2</int> <int>3</int> </skipIfBlankColumns> </next>
Access on /profile/
Supports REST access to return JSON data if you set a json content type
curl 'http://version1.airpoints.loopbackdns.com:8080/profile/' -H 'Host: version1.airpoints.loopbackdns.com:8080' -H 'Accept: application/json'
{ "data":{ "optins":{ }, "profile":{ "firstName":"dd", "notes":"", "surName":"dd", "phone":"123123123", "nickName":"admin", "name":"admin", "href":"/users/admin/public", "userName":"admin", "userId":2, "email":"brad@xxxxx", "photoHash":"61084ad4739a840d9983978a48c84ea6cd793251" } }, "fieldMessages":[ ], "messages":[ ], "nextHref":"", "status":false }
An event triggered by some condition related to learning progress, eg starting, completing or not completing after some period
The attributes collection contains the ModuleFolder called module
home page
The title, template and body can be updated with a POST to this
Also supports read/write parameters embedded in the html, such as:
module 1
RepoAppAction
This node executes a method on a custom app.
When entered, this node will search through all repo apps looking for a RepoAppActionNodeType (aka customAction)
with the same nodeType value. If found it will execute the jsMethod on the app, passing the current rootfolder, lead, funnel and
exiting node as arguments
If the function returns a value, this will be returned as the next node id
RepoAppEventGoal
A goal which is achieved when an event defined by a repo app is fired
This is intended to work with repo apps
RepoAppEventListener
RepoAppFunnelEvent
A funnel event to be fired by custom apps.
This is intended to work with RepoAppEventGoal
RepoAppSettings
RepoAppWebsocket
RepoAppWebsocketMapping
RepoAppsEventManager
This Listens for event's on the platform and Passes it on to custom apps
listening for that event. The following event types are captured:
- TriggerEvent - This includes all the
automation triggers available
- ResourceEvent - This gets fired when a repository resource gets accessed
or changed. Includes events like DeleteEvent, AccessedEvent, MoveEvent,
PutEvent, NewFolderEvent
RepoMailboxStandardMessage.MyAttachment
Represents an email attachment
RepoMailboxStandardMessage
Represents an email message
ReportBean
ReportParams
Provides a standardised means for parsing common report request parameters
ReportingApp
RepositoryApp.RepoQueryTable
RepositoryApp
RepositoryAppTheme
RepositoryAppTriggerEvent
RepositoryAppTriggerType
ResourceList
This is a specialised List used for manipulating and querying resources
You'll usually this to sort, group, filter lists, as well as create new lists
which you can add to in the template
ResourcesPage
Displays resources based on what gruops the current user is enrolled in
Reads from a conventional folder structure associated with the website:
/resources/[group-name]
where group-name is the name of a group which is associated with the current
website
Reward
Represents an incentive program, such as a prize draw or a set of gift
vouchers to be allocated
RewardBean
RewardCurrency
RewardEntryAttachment
This represents the attachment for an entry. Usually for uploading
photos
RewardFolder
This is for non-learning rewards, ie competitions
A RewardsFolder represents a Reward, and is a folder which can contain
arbitrary content resources like images etc
RewardGrantedEvent
An event triggered by some condition related to learning progress, eg
starting, completing or not completing after some period
Event ID: rewardGranted
RewardGrantedEventTriggerType
RewardService.PointsTransaction
Represents a single transaction, ie a purchase or a credit
RewardStoreApp.ExpiringPointsTable
RewardStoreApp.PointsBalanceBean
Represents the balance of a participant. A participant can be a user or
organisation
RewardStoreCategoryFolder
RewardStoreEngagementScoringFactorType
Scores engagement based on whether users have opened emails (ie pixel tracker
has been hit) , or converted (ie clicked through)
RewardStoreFolder
Represents a reward store. Provides methods for accessing the current user;s
transaction history, points balance
Child resources are category folders, which contain the products
Get recent points activity with the pointsActivity parameter:
?pointsActivity☆tDate=...&endDate...
Get the current points balance with the points parameter: ?points { balance :
1000, availableBalance: 950 }
RewardStoreTemplateHelper
RewardUploadsFolder
This is a special folder which is a child of a RewardFolder, which allows
uploaded files to be viewed. There is a child for each entry with an uploaded
file as an attachment
RewardsApp.RewardEntriesSummaryTable
RewardsApp.RewardEntriesTable
RewardsShoppingCartItemResource
RewardsTemplateHelper
Functions to assist with rewards and Points templating
RootFolder
SalesDataApp.SalesByOrgTable
SalesDataFolder
This page lets you POST to create, update and delete records of any data
series by specifying parameters, including the amount and series name
A data series is any series of time stamped values, often used for collecting
sales data but can be used for any series.
SalesDataInserter
Creates a new sales data record for each call. Requires the following
arguments
- Amount
- Attributed to - orgId for an organisation, or email or userid for a
profile
- From - date/time for the beginning of the period
- To - date/time for the end of the period. Same as from if the data is for
a single point in time
And any extra fields defined on the dataseries
The columns list maps fields onto column numbers. The standard fields are:
amount, attributedTo, fromDate, toDate
SalesDataRecord
SalesManagerRole
SalesPipeline
SalesRole
SalesTeamViewerRole
SearchConfig
SearchManager
This is the goto object for text search and analytics using elasticsearch
SearchResponseView
Write an Elastic searchResponse object directly to the output stream
SearchResult
Represents a single result in a search result page
SearchResults
Represents a search result, including the number of hits, the page information, the
actual search results, and any aggregation results
SecurityManager
SendEmailGoalAction
SendSmsAction
SendToHubspotGoalAction
SeoContentBean
SeriesBean
SetAttributesStep
Selects the next step from a list of options
Configured with a map of next steps, where the key for each step is used to
select it
Provide with either a column number or an attribute name to use to get the
value to select the next step
SetFieldGoalAction
SetSourceLeadGoalAction
ShippingAddress
ShippingAddressBean
ShoppingCartBean
ShoppingCartEvent.ShoppingCartAction
ShoppingCartEvent
Fired when a item either gets added to the shopping cart or the checkout
process is completed
Event ID: shoppingCart
- ADDED_TO_CART - Fired when a item is added to the cart
- CHECKOUT_COMPLETE - Fired when the checkout process has completed
successfully
- PAYMENT_PENDING - Fired when a checkout has been submitted but payment is
pending to complete the process
ShoppingCartEventTriggerType
ShoppingCartGoal
ShoppingCartItemBean
ShoppingCartItemResource
ShoppingCartResource
SignupLog
Records a user signing up to a group
SimpleHtmlTemplater
SmsApp.SmsStats
SmsDeliveryEventTriggerType
SmsResultGoal
SocialInteractionGoal
SpliffyContentGenerator.ErrorResource
SpliffyContentGenerator
Stage
StartAndWaitFunnelGoal
StartFunnelGoalAction
StreamActivitySearchPage
Outputs the stream activity as json
StreamActivitySummaryResource
Outputs the stream activity as json
StreamEventBean
Represents the occurence of a generalised action
StreamEventBeanBuilder
Creates a StreamEventBean object that is used to push items into the profile
timeline
StreamItemPage
Outputs the stream activity as json
StreamService
A stream event represents an action on an item.
The action has a severity catgegory (eg info, success), a description, an
icon
SubmissionBean
Represents a submission to a poll, survey or competition
SubscriptionEvent
Fired when a user joins a group
Event ID: subscription
SubscriptionEventTriggerType
SurveyRowProvider
Updates not supported yet
Allows criteria parameters of startDate, finishDate and rewardNames
TakeLeadRole
TargetsMap
Just lets you get a target by name for the given result
TaskCompleteGoal
Triggers a goal as attained when the
TaskGoal.TaskOutcome
TaskGoal
TaskReminderDef
TeamBucket
TemplateOutput
Execute a velocity template, writing the result to the output.
This can be used for generating a result which returnes warnings etc
TemplateReportAttachmentFile
This is wrapped around Report instaneces of type TemplateReport. Most notably
this includes reports defined in custom apps
This will generate a downloadable attachment (eg CSV) from the TemplateReport
instance
TemplateReportPage
This is wrapped around Report instaneces of type TemplateReport. Most notably
this includes reports defined in custom apps
This type of report is the most generic, it allows the report author to
provide a template which generates any output. There are no filtering options
built in so the template must define and apply any which are required
However the standard ReportParams object is included as a property for
convenience
For custom apps, they will normally execute a search using the searchManager
which is a property of this resource
TemplatedHtmlPage
This is used for pages which just need to generate a template. Its often
extended to provide additional methods
Gets its title from the template
TemplatingApplication.TemplateDef
TestSplitAction
TestTriggerEvent
TextOptionType
TextView
ThemeBean
ThemeDependentHtmlTemplater
Allows selecting an instance of HtmlTemplater based on the theme
TimerGoal
When an automation event is triggered
TransactionStep
Wraps processing in a transaction and commits it in the finished phase
TriggerEvent
A TriggerEvent gets fired when some significant event occurs on the
server.
The trigger item properties represent textual values that can be keyed on for
event triggers. Typically these will be id's of objects in context of the
event, such as the website, group, etc.
The types of events are:
AuctionBidEvent
AuctionClosedEvent
CalendarEventAccepted
CalendarEventDeclined
ContactEvent
EmailReceivedEvent
ModuleProgressEvent
NewCommentEvent
PaymentEvent
RepositoryAppTriggerEvent
PipelineProcessEvent
ReferralEvent
RewardGrantedEvent
ReferralEvent
ShoppingCartEvent
SubscriptionEvent
TestTriggerEvent
TriggerFiredEvent
TriggerTimerEvent
VoteReceivedEvent
VotedEvent
TriggerFiredEvent
Fired when another trigger fires
TriggerFiredEventTriggerType
This type of event is for chaining triggers. It is triggered when another
trigger (possibly delayed) fires.
TriggerTimerEvent
TriggerTypeBuilder
Use this to create an automation trigger.
This will allow you to add a trigger to the automation page
For example:
controllerMappings
.automationTrigger
.triggerId('testTrigger')
.description('This is a test trigger')
.format('genFormat')
.addOption("Type", "populateOptions")
.build();
function populateOptions(){
var list = formatter.newListOptionBuilder();
for(var i = 1; i < 11; i++){
list.addOption('t' + i, 'T' + i);
}
return list.build();
}
function genFormat(page, t1, t2, t3, t4, t5){
log.info('page={} t1={} t2={} t3={} t4={} t5={}',page, t1, t2, t3, t4, t5);
return 'New post received';
}
UserAgentParserWrapper
Provides access to the user agent parser
UserDao.ProfileMatchRequest
UserManager
UserResource
UserVisitEvent
A UserVisitEvent is raised when a user first visits a site (ie the first GET
request) at least 24 hours since the last visit
Event ID: userVisit
UserVisitEventTriggerType
This trigger type means when a user has received a vote, which is not the
user who made the vote!
UserVisitGoal
When a profile is added/removed to a group
Variant
VelocityHtmlTemplater
Builds pages by plugging a few things in together: - a static skeleton for a
HTML page, ie the html, header and body tags - a Theme, which defines web
resources, such as js and css files, to include in the header. And which
defines one or more layouts for the body. - the template itself, which
provides more web resources to be included in the header, and the body layout
which will be injected into the theme template. Also defines a parameter
indicating which theme template to use
VelocityOutputStep
Generates HTML template and outputs it to the pipeline output
ViewEmailPage
ViewsBuilder
Provides methods for creating views, for templating, returning JSON, and
redirects
VoteReceivedEvent
This represents a vote being received by a user on their post or comment
Trigger items:
1 - website
2 - the vote amount (usually +1 or -1)
3 - total votes for the post or comment
4 - the type of the post, C=comment, FP=forum post, FR=forum reply
Event ID: voteReceived
VoteReceivedEventTriggerType
This trigger type means when a user has received a vote, which is not the
user who made the vote!
VotedEvent
This represents a user voting on a post. The user in context is the user
doing the voting, not the user receiving the vote!
Trigger items:
1 - website
2 - the vote amount (usually +1 or -1)
Event ID: VotedEvent
VotedEventTriggerType
VoucherBean
VoucherPage
VoucherRedemptionPage
This is the top level resource for voucher redemptions and management
Users use this page to search for vouchers and change their status to
redeemed, pending, etc, or to reset their status when a mistake has occurred.
VoucherStateGoal
When voucher is issued or change it state
VoucherStateSummary
VoucherStatusChangeBean
VoucherTypeFolder
VoucherTypeSummary
WebEngagementScoringFactorType
Scores engagement based on whether users have opened emails (ie pixel tracker
has been hit) , or converted (ie clicked through)
WebServiceStep
WebsiteRootFolder
Represents the root of a website. A "website" in this context is a product,
its a customer facing side of some activity, such as Learning Management
System or business website.
Resources within a WebsiteRootFolder will often behave differently then if
they were located under a OrganisationRootFolder, because the assumption is
that websites are for customers, while aadministrators will accessing the
organisation directly
While WebsiteRootFolder is a view of a repository (or rather a branch within
a repository) it also provides access to other repositories. Any repository
within the containing organisation can be access by name from the root
folder. For example, if an org has this structure:
myOrg - milton.io - maven
... then requests to http://milton.io/maven will show the maven repository
WebsocketMappingBuilder
XMLHttpRequest
Hit the online chat button bottom left, or click the contact Kademi button below.